A. Technical Field
The present invention relates to secure microcontroller systems for identification and authentication and, more particularly, to systems, devices, and methods for random encryption key generation with Physically Unclonable Functions (PUFs).
B. Background of the Invention
Semiconductor processing is aimed at minimizing process variations that are responsible for tolerances generated in physical components on a wafer that result in variations in threshold values of transistors, capacitances, resistance values, etc. By virtue of the manufacturing techniques employed, including non-uniform deposition and etching processes, whose repeatability remains imperfect, variations between components cannot be completely eliminated. The statistical nature of these variations is accompanied by an inability to obtain information about the components merely by inspecting the component layout. In other words, absent extremely difficult measurements at the component level, these physical variations cannot be detected or copied.
PUF design takes advantage of these small but characteristic manufacturing variations in physical semiconductor components in order to generate sequences of random, unique cryptographic keys. In some existing designs, individual key bits are determined based on a mismatch in polarity of PUF elements to generate single bit results. In a typical Gaussian distribution of mismatch, a relatively large number of the population of PUF elements will be centered around the midpoint of the distribution. Given the influence of other non-manufacturing variations, such as voltage shifts, temperature drift, relative aging processes, package stress, noise, etc., the use of commonly employed Zero-One comparators leaves open the possibility that a key bit undesirably changes from a zero value to a one and vice versa based on the polarity of a single PUF element, thereby, negatively affecting the repeatability of a stored code.
Ideally, PUF elements are made of circuit components that exhibit a large mismatch so as to minimize the effect of environmental changes on the device to improve repeatability and stability of the generated key bits. Since the part of the population of PUF elements that exhibits relatively little mismatch is statistically more likely to experience a change in sign, PUF elements that fall within that population are not suitable for the purpose of generating random key bits. Therefore, PUF elements that exhibit relatively little mismatch are typically excluded from any given batch in order to prevent PUF output bit responses that would be sensitive to environmental changes and result in unstable crypto keys.
Unfortunately, techniques to exclude a significant part of the population of PUF elements in order to increase stability lowers the overall utilization rate. What is needed are tools for secure computing system designers to enable a high utilization rate of PUF elements without negatively impacting stability and accuracy of key bits generated by electronic PUF systems.